home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / game / shoot / ADoom_PPC_13.readme < prev    next >
Text File  |  1998-05-10  |  31KB  |  866 lines

  1. Short:    Amiga PPC port of ADoom v1.2
  2. Author:   Joseph Fenton (jlfenton@ctaz.com)
  3. Uploader: Peter McGavin (p.mcgavin@irl.cri.nz)
  4. Type:     game/shoot
  5. Action:   NoStart
  6.  
  7. ==========================================================================
  8.                          ADoom PPC 1.3
  9. ==========================================================================
  10.  
  11. By Joseph Fenton (jlfenton@ctaz.com) based on the code by Peter McGavin
  12.  
  13. April 9, 1998
  14.  
  15. ==========================================================================
  16.  
  17. This archive contains a PowerUP PPC port of Peter McGavin's ADoom.
  18.  
  19. ADoom is a port of ID Software's Linux DOOM.  You can get the original
  20. ID Software Linux DOOM source from:
  21.  
  22.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  23.  
  24. Source code for ADoomPPC is in a seperate archive available on AmiNet
  25. and Amiga DOOM sites.
  26.  
  27. ADoomPPC multitasks and complies with PowerUP PPC standards; it uses
  28. an Amiga standard library for high-quality sound effects and music.
  29.  
  30. ADoomPPC uses ASL to request the screen mode unless overridden by
  31. the user in the parameters.  ECS & OCS are not supported and AGA is
  32. not recommended, but allowed.
  33.  
  34. ADoomPPC allows the selection of resolutions higher than 320x200.
  35. Resolutions up to 1600x1280 are allowable, but require a fast PPC.
  36. For people who really need the speed, low detail mode is also
  37. supported.
  38.  
  39. All the features of ADoom 1.2 are supported by ADoomPPC; these
  40. include: DeHackEd file support (.DEH config files), IPX, TCP/IP,
  41. null modem cable link-up, frames-per-second display, and auto-map
  42. on the heads-up display.
  43.  
  44. ADoomPPC 1.3 adds native AGA support; AGA graphics are nearly the
  45. same speed as a video card! It also makes the save games compatible
  46. with ADoom (and other DOOM conversions).
  47.  
  48. Installation
  49. ============
  50.  
  51. Copy ADoomPPC to any drawer you wish.  If you have gotten the MIDI
  52. instruments file (available in another archive due to its size), copy
  53. it to the same drawer.
  54.  
  55. Included are two libraries for playing music and sound effects.
  56. Copy doomsound.library to your libs: drawer if you have a 68040/PPC
  57. combo card; copy doomsound.library.060 as doomsound.library to your
  58. libs: drawer if you have a 68060/PPC combo card.  The only difference
  59. between the two is that the normal version uses a quad multiply for
  60. pitch bending and the 060 version uses a floating point multiply.  The
  61. normal version WILL work on the 060; it is just slightly slower.
  62.  
  63. If you do not copy one of the two libraries into the libs: drawer,
  64. you will only get 4 channel, non-panned sound effects.
  65.  
  66. Copy a WAD file to the same drawer; if you wish to use the WAD file in
  67. a different drawer, see the instructions concerning WAD files below.
  68.  
  69. Requirements
  70. ============
  71.  
  72. ADoomPPC requires an Amiga PPC accelerator with ppc.library v45.13
  73. or later, and OS 3.0 or newer.
  74.  
  75. ADoomPPC requires AGA video or a graphics card (recommended).
  76.  
  77. ADoomPPC requires a WAD file compatible with DOOM for the PC or
  78. Macintosh; Hastings is selling a compilation of The Ultimate DOOM,
  79. DOOM II, and Final DOOM for around $20 (US); get it.  Only whimps
  80. use the shareware wad file.
  81.  
  82. WAD Files
  83. =========
  84.  
  85. WAD files must be in the program directory or in the directory
  86. specified by the environment variable DOOMWADDIR.  E.G.,
  87.  
  88.    SetEnv DOOMWADDIR "GAMES:DOOM/WAD_FILES/"
  89.  
  90. will check GAMES:DOOM/WAD_FILES/ for the WAD files.
  91.  
  92. The -waddir option can also be used to specify the directory of the
  93. main WAD file.  E.G.,
  94.  
  95.    ADoomPPC -waddir WAD_FILES/
  96.  
  97. will check the directory WAD_FILES relative to the current directory
  98. for a main WAD file.  The '/' is optional.  The path may also be an
  99. absolute path like in the environment example above.
  100.  
  101. Some older Registered WAD files may not work due to later changes
  102. made to the WAD file contents.
  103.  
  104. It is possible to upgrade at least some old main WAD files using
  105. freely available patches from ftp://ftp.idsoftware.com/idstuff/doom/.
  106. You need a PC to apply the patches.
  107.  
  108. Playstation WAD files do not work as they are split by level and
  109. compressed.
  110.  
  111. WAD files from games derived from DOOM (such as Heretic or Hexen)
  112. do not work due to differences in WAD contents.
  113.  
  114. The Ultimate DOOM WAD file must be named DOOMU.WAD to work.
  115.  
  116. Patch WAD Files
  117. ===============
  118.  
  119. Patch WAD files are used to change graphics, sounds, and level
  120. designs on DOOM; many are available on CDROM and the net.  A
  121. patch wad file is specified with ADoomPPC using the -file option.
  122. E.G., ADoomPPC -file DMINATOR.WAD (my personal favorite).
  123. Patch wads can only be used with the appropriate Registered
  124. WAD file (DOOM, DOOMU, or DOOM2).  Please read the readme that
  125. accompanies the patch wad for more specific information on the
  126. patch wad requirements.
  127.  
  128. A full path can be used with the -file option in case the patch
  129. wad is in another drawer.  Multiple patch wads may be specified.
  130. E.G.,
  131.  
  132.    ADoomPPC -file patch1.wad patch2.wad patch3.wad
  133.  
  134. Do not ask me about specific patch wads as I have neither to
  135. time nor the inclination to bother with them.
  136.  
  137. Disk Loading
  138. ============
  139.  
  140. ADoomPPC is faster when some kind of disk cacheing is used. Either
  141. a disk cache program such as DynamiCache, or the use of AddBuffers
  142. make a tremendous difference in the performance of ADoomPPC.
  143. AddBuffers is used as follows:
  144.  
  145.    AddBuffers GAMES: 1024
  146.  
  147. where you substitute the name of the partition ADoomPPC is on for
  148. GAMES:.  I recommend adding at least 500 buffers; the more the
  149. better.  In fact, if you have enough RAM, copy the WAD file to
  150. RAM: for the best speed.
  151.  
  152. PPC Specifics
  153. =============
  154.  
  155. The bus clock controls the timing in ADoomPPC; if it is not set to
  156. the right value, ADoomPPC may run funny and the FPS counter will be
  157. inaccurate.  The bus clock is automatically computed at the start
  158. using information supplied by the ppc.library.  If the information
  159. is not correct (some versions of the ppc.library return the wrong
  160. clock information on newer PPC accelerators), you can override the
  161. computed value; to do this, specify -bus <frequncy>.  E.G.,
  162.  
  163.    ADoomPPC -bus 40000000
  164.  
  165. runs ADoomPPC with the bus clock set to 40MHz.
  166.  
  167. Resolution
  168. ==========
  169.  
  170. The default resolution for ADoomPPC is 320x200 and is the fastest
  171. resolution to run in.  If you have more CPU power than you know
  172. what to do with, you can run ADoomPPC in higher resolutions by
  173. using the -width & -height options.  E.G.,
  174.  
  175.    ADoomPPC -width 640 -height 480
  176.  
  177. runs ADoomPPC in 640x480 resolution; select a 640x480 display
  178. mode when the ASL screenmode requester appears.
  179.  
  180. The resolution must be a multiple of 64 for AGA graphics, and
  181. 32 for graphics cards.
  182.  
  183. Pressing F5 toggles between high detail and low detail in any
  184. resolution.
  185.  
  186. The maximum resolution is 1600x1280.  Don't bother unless you
  187. have a 275MHz G3 PPC.
  188.  
  189. Note that certain resolutions may overflow the cache, slowing
  190. the performance of the game.
  191.  
  192. The following table was done by Peter McGavin.  It shows for each
  193. standard resolution how many pixels can be rendered vertically in
  194. the cache and whether it's expected to be fast or not on a 603e or
  195. 604e. O means yes, x means no.
  196.  
  197.  Resolution  Pix in cache  Fast or not
  198.    W    H     603e  604e   603e  604e
  199. -------------------------------------
  200.   320x 200     256   512     O     O
  201.   320x 240     256   512     O     O
  202.   352x 220     512  1024     O     O
  203.   352x 264     512  1024     O     O
  204.   384x 240     128   256     x     O
  205.   384x 288     128   256     x     x
  206.   416x 260     512  1024     O     O
  207.   416x 312     512  1024     O     O
  208.   448x 280     256   512     x     O
  209.   448x 336     256   512     x     O
  210.   480x 300     512  1024     O     O
  211.   480x 360     512  1024     O     O
  212.   512x 320      32    64     x     x
  213.   512x 384      32    64     x     x
  214.   544x 340     512  1024     O     O
  215.   544x 408     512  1024     O     O
  216.   576x 360     256   512     x     O
  217.   576x 432     256   512     x     O
  218.   608x 380     512  1024     O     O
  219.   608x 456     512  1024     O     O
  220.   640x 400     128   256     x     x
  221.   640x 480     128   256     x     x
  222.   672x 420     512  1024     O     O
  223.   672x 504     512  1024     O     O
  224.   704x 440     256   512     x     O
  225.   704x 528     256   512     x     x
  226.   736x 460     512  1024     O     O
  227.   736x 552     512  1024     x     O
  228.   768x 480      64   128     x     x
  229.   768x 576      64   128     x     x
  230.   800x 500     512  1024     O     O
  231.   800x 600     512  1024     x     O
  232.   832x 520     256   512     x     x
  233.   832x 624     256   512     x     x
  234.   864x 540     512  1024     x     O
  235.   864x 648     512  1024     x     O
  236.   896x 560     128   256     x     x
  237.   896x 672     128   256     x     x
  238.   928x 580     512  1024     x     O
  239.   928x 696     512  1024     x     O
  240.   960x 600     256   512     x     x
  241.   960x 720     256   512     x     x
  242.   992x 620     512  1024     x     O
  243.   992x 744     512  1024     x     O
  244.  1024x 640      16    32     x     x
  245.  1024x 768      16    32     x     x
  246.  1056x 660     512  1024     x     O
  247.  1056x 792     512  1024     x     O
  248.  1088x 680     256   512     x     x
  249.  1088x 816     256   512     x     x
  250.  1120x 700     512  1024     x     O
  251.  1120x 840     512  1024     x     O
  252.  1152x 720     128   256     x     x
  253.  1152x 864     128   256     x     x
  254.  1184x 740     512  1024     x     O
  255.  1184x 888     512  1024     x     O
  256.  1216x 760     256   512     x     x
  257.  1216x 912     256   512     x     x
  258.  1248x 780     512  1024     x     O
  259.  1248x 936     512  1024     x     O
  260.  1280x 800      64   128     x     x
  261.  1280x 960      64   128     x     x
  262.  1312x 820     512  1024     x     O
  263.  1312x 984     512  1024     x     O
  264.  1344x 840     256   512     x     x
  265.  1344x1008     256   512     x     x
  266.  1376x 860     512  1024     x     O
  267.  1376x1032     512  1024     x     x
  268.  1408x 880     128   256     x     x
  269.  1408x1056     128   256     x     x
  270.  1440x 900     512  1024     x     O
  271.  1440x1080     512  1024     x     x
  272.  1472x 920     256   512     x     x
  273.  1472x1104     256   512     x     x
  274.  1504x 940     512  1024     x     O
  275.  1504x1128     512  1024     x     x
  276.  1536x 960      32    64     x     x
  277.  1536x1152      32    64     x     x
  278.  1568x 980     512  1024     x     O
  279.  1568x1176     512  1024     x     x
  280.  1600x1000     256   512     x     x
  281.  1600x1200     256   512     x     x
  282.  
  283. To avoid cache overflow, the -mmu option may be used to allocate
  284. the screen buffers with the memory mapped as non-cacheable by
  285. the ppc.library.  E.G.,
  286.  
  287.    ADoomPPC -width 640 -height 480 -mmu
  288.  
  289. allocates the screen buffers for a 640x480 display and makes it
  290. non-cacheable.
  291.  
  292. Music
  293. =====
  294.  
  295. ADoomPPC uses the doomsound.library to play music.  If the library
  296. is not present, or if the MIDIInstruments file cannot be found,
  297. music is not available in ADoomPPC.  The doomsound.library supports
  298. 16 stereo panned sound effects and 16 channels of stereo music;
  299. if the library is not present; only 4 channel, non-stereo sound
  300. effects will be played.  To get no sound effects or music, use
  301. the -nosfx option.  To get only sound effects, do not use -nosfx
  302. and -music; to get sound effects and music, use -music and do not
  303. use -nosfx.
  304.  
  305. The MIDIInstruments file is very big and is in another archive.
  306.  
  307. Keyboard
  308. ========
  309.  
  310. The keys are generally mapped the same as on a PC.  On the Amiga,
  311. use '[' or Del for F11, ']' for F12, and Help for Pause.
  312.  
  313. The keymap may be customized by changing the .doomrc file.
  314.  
  315. The Right Amiga key sends the same code as Ctrl and the Left Amiga
  316. key is disabled so that Intuition commands (like screen flipping)
  317. may be done without ADoomPPC trying to use the key.
  318.  
  319. By default, the numeric keypad controls the player movement;
  320. 4, 5, 6 and 8 control movement and turning; 1, 3, 7, and 9
  321. are used for strafe.  '<', ',', '>', and '.' can also be used
  322. for strafe.  All key mappings can be changed in the .doomrc.
  323.  
  324. Use the -rawkey option for use of raw keycodes rather than translated
  325. keycodes.
  326.  
  327. Mouse
  328. =====
  329.  
  330. To use the mouse with ADoomPPC, use the -mouse option.  This slows
  331. the game down while enabled.
  332.  
  333. CD32 Joypad
  334. ===========
  335.  
  336. If the lowlevel.library is present, the -joypad option enables the
  337. CD32 joypad for ADoomPPC.  Red is Fire, Blue is Action, Yellow is
  338. Fast, Green is Return, Start/Pause is Esc, and Forward & Reverse
  339. are strafe.
  340.  
  341. SEGA Genesis Controller
  342. =======================
  343.  
  344. To use a SEGA Genesis controller, use the -sega3 option for a three
  345. button Genesis controller, and the -sega6 option for a six button
  346. Genesis controller.
  347.  
  348. The button mapping is as follows:
  349. Start = Space (Action)
  350. A     = Strafe Right
  351. B     = Fire
  352. C     = Strafe Left
  353. On the 6 button controller you also get
  354. Mode  = Esc (Menu)
  355. X     = Return (Enter/Show last message)
  356. Y     = Shift (Fast/Run)
  357. Z     = Tab (Map on/off)
  358.  
  359. A Sega Genesis controller may be use on the Amiga as long
  360. as you swap lines 5 & 7, and put a 470 ohm resistor
  361. between lines 5 & 7.
  362.  
  363. The controller plug pinout is:
  364.      1   2   3   4   5
  365.         6   7   8   9
  366.  
  367. The best way to switch the lines is to open up the
  368. controller and change them on the circuit card.
  369. Note: doing this will make the controller incompatible
  370. with SEGA equipment; if you make the changes, you
  371. are on your own; I will not be held responsible for any
  372. damage incurred by performing the above procedure.
  373. If you aren't comfortable doing your own conversion
  374. and don't know anyone who can help, DON'T TRY IT!
  375. Get yourself a CD32 joypad.  This is ONLY for people
  376. who know what they are doing and want the range of
  377. controllers available for SEGA equipment.
  378.  
  379. Specifying the Screenmode
  380. =========================
  381.  
  382. If you do not want the ASL screenmode requester every time you run
  383. ADoomPPC, you can specify the screenmode you want using the -screenmode
  384. option.  E.G.,
  385.  
  386.    ADoomPPC -screenmode $40420007
  387.  
  388. If you are not sure what the screenmode ID is, run ADoomPPC without
  389. the -screenmode option, select the screenmode you wish to use, then
  390. check the mode ID printed to ADoomPPC's output window or the CLI if
  391. you ran it from a CLI.
  392.  
  393. Memory
  394. ======
  395.  
  396. ADoomPPC automatically caches game information in a memory block
  397. allocated when the program is run.  The default is to try to allocate
  398. 6MB of RAM.  You can override this with the -heapsize option.  E.G.,
  399.  
  400.    ADoomPPC -heapsize 2048
  401.  
  402. runs ADoomPPC with 2048KB (or 2MB for those not familiar with base
  403. 16); selecting less memory makes ADoomPPC go to the harddrive more
  404. often, slowing down gameplay; selecting too little memory may cause
  405. the game to error out.
  406.  
  407. FPS Counter
  408. ===========
  409.  
  410. Use the -fps option to get a frames-per-second display in the upper
  411. right hand corner of the display.  This shows the speed of rendering
  412. at that particular moment.  The proper way to get the average speed
  413. of DOOM is to do the following:
  414.  
  415.    ADoomPPC -forcedemo -timedemo demo3
  416.  
  417. with the DOOM window set to 2 steps below maximum.  The speed is
  418. calculated using the formula:
  419.  
  420.    FPS = gameticks / realticks * 35
  421.  
  422. My 150MHz 603e+ gets about 28 FPS on my Spectrum card, and about 31
  423. FPS on my CV3D card.
  424.  
  425. Remember, the FPS Counter will not be accurate if the bus clock is
  426. not set to the proper value.
  427.  
  428. Rotating Map and Map On Heads Up Display
  429. ========================================
  430.  
  431. Use the -maponhu option to have the automap displayed on the main 3D
  432. view window, and use the -rotatemap option to have the automap rotate
  433. as the player turns.
  434.  
  435. You can toggle through various map types by pressing 'z' while the map
  436. is displayed.
  437.  
  438. DeHackEd
  439. ========
  440.  
  441. DeHackEd is a PC program that patches certain internal tables inside
  442. DOOM so that certain effects can be achieved; these include, a rapid
  443. fire shotgun, floating barrels, and many other things.
  444.  
  445. ADoomPPC supports the use of DeHackEd configuration files; they have
  446. a .DEH extension on them.  To use them, use the -deh option. E.G.,
  447.  
  448.    ADoomPPC -deh TURBO.DEH
  449.  
  450. Many DEH files are available on the net.  Not all the features in DeHackEd
  451. are supported.  Do not bug me about any additional features you want; I have
  452. neither the time nor the inclination to add more features.  The original
  453. author of the DeHackEd support is Cyril Deble <Cyril.Deble@inforoute.cgs.fr>.
  454. Bug him about it. :^}
  455.  
  456. NetWorking
  457. ==========
  458.  
  459. ADoomPPC supports three types of networking: TCP/IP, IPX, and raw null-
  460. modem.  I have not had the chance to test these yet.
  461.  
  462. ADoomPPC generates ALOT of network traffic, so use a fast connection.
  463. Having one slow machine connected slows everyone down.
  464.  
  465. The following is from the ADoom readme by Peter McGavin:
  466.  
  467. TCP/IP:
  468. -------
  469.  
  470. AmiTCP networking in ADoom is based on the Linux DOOM source code.  It
  471. works between Amigas and also with Linux PCs using TCP/IP on a fast
  472. network.  You need either AmiTCP or Miami on your Amiga for it to
  473. work.  Make sure you are using a recent version of AmiTCP or Miami.
  474. Fast Amigas and a fast connection help a lot too.  It's best over
  475. ethernet and OK over AmigaLink.  It works over a serial line with SLIP
  476. or PPP too, but people with 68030s reported unplayably poor
  477. performance.
  478.  
  479. TCP/IP does not work to PCs running MSDOS or Win95, unless perhaps you
  480. can find a PC version of DOOM compiled from the Linux source code
  481. which supports TCP/IP.  Several people told me Win95Doom TCP/IP does
  482. not work with ADoom.
  483.  
  484. To start ADoom across 2 computers called fred and bob, say:
  485.  
  486.   1:  Make certain both computers are using identical WAD files;
  487.  
  488.   2:  Make certain you can PING fred from bob and vice versa;
  489.  
  490.   3:  On bob, enter:    "ADoom -net 1 fred"
  491.  
  492.   4:  On fred, enter:   "ADoom -net 2 bob"
  493.  
  494.  
  495. If there are 3 computers, called fred, bob and sue, say:
  496.  
  497.   1:  Make certain all 3 computers are using identical WAD files;
  498.  
  499.   2:  Make certain you can PING between all computers by name;
  500.  
  501.   3:  On bob, enter:    "ADoom -net 1 fred sue"
  502.  
  503.   4:  On fred, enter:   "ADoom -net 2 bob sue"
  504.  
  505.   5:  On sue, enter:    "ADoom -net 3 fred bob"
  506.  
  507.  
  508. It's normal for screens to go blank sometimes during the startup phase.
  509.  
  510. On Linux I used DOOM compiled from the source code available from:
  511.  
  512.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/doomsrc.zip
  513.  
  514.  
  515. I don't know whether other Linux DOOM implementations are compatible.
  516.  
  517. So far I have tested up to 3 computers.  The code is pretty untested
  518. and your mileage may vary.
  519.  
  520.  
  521.  
  522. IPX:
  523. ----
  524.  
  525. IPX is the ethernet protocol used by MSDOS versions of DOOM.  ADoom
  526. uses G.J.Peltenburg's amipx.library version 1.1 or higher for IPX.
  527. You can get this library from Aminet.  After several evenings of
  528. struggling with the library and with checksums and
  529. big-endian/little-endian problems and with version number problems,
  530. the protocol finally seems to work, sort of...
  531.  
  532. Unfortunately I did not foresee another problem.  The PC version of
  533. the DOOM program I've tried so far does not exactly match Linux DOOM,
  534. even when using exactly the same WAD file.  In my experience, the game
  535. often gets out of sync (consistency failure) or quits unexpectedly.
  536. So far I've only used DOOM2 version 1.666 on the PC.  Perhaps version
  537. 1.9 would work better, because that's the PC version recommended for
  538. net-play with MacDOOM.
  539.  
  540. Between 2 fast Amigas, ADoom with IPX works reasonably well using
  541. a2065.device.  Hopefully it also works using ariadne.device and other
  542. Sana2 ethernet devices.
  543.  
  544. First you should install G.J.Peltenburg's amipx.library version 1.1 or
  545. higher (from Aminet) and configure your Network number, Node, Device
  546. driver, Unit number and Frame Type in amipx_prefs.  I use the Frame
  547. Type "Ethernet 802.2" and just set everything else to 0.
  548.  
  549. Note that you need amipx.library at least version 1.1.  Version 1.0
  550. doesn't work.  (Well, v1.0 might work with ariadne.device...)
  551.  
  552. The syntax for starting ADoom with IPX is:
  553.  
  554.   ADoom -netipx <number-of-nodes>
  555.  
  556. For example:
  557.  
  558.   ADoom -netipx 2
  559.  
  560. ADoom automatically waits until the number of nodes specified are
  561. found on the local ethernet, then starts the game.  You should all
  562. specify the same number of nodes and you should all use the same WAD
  563. files and other options.
  564.  
  565. So far I have tested up to 2 Amigas and 1 PC all at once.  The code is
  566. pretty untested and your mileage may vary.
  567.  
  568. If you try IPX between an Amiga and a PC, there are 2 more options you
  569. MUST know about.
  570.  
  571. The -pcchecksum option tells ADoom to calculate net packet checksums
  572. the same way the PC version does.  By default, ADoom calculates net
  573. packet checksums the same way Linux DOOM does, which is different.
  574. (Linux DOOM just sets the net packet checksum to 0.)  If you don't use
  575. -pcchecksum, the PC will reject and ignore (nearly) all game packets.
  576.  
  577. The -forceversion <number> option fools a PC into thinking you are
  578. running a particular version of DOOM.  I use -forceversion 106 with
  579. DOOM2 version 1.666, for example.  The default is -forceversion 110
  580. for version 1.10.  PC DOOM rejects any DOOM program that identifies
  581. itself as a different version number.  Sorry I don't know an easy way
  582. of working out what number you need after -forceversion to impersonate
  583. a particular version of PC DOOM.  Try -forceversion 109 with DOOM2
  584. version 1.9, perhaps.
  585.  
  586. I'm very interested to know your experiences with ADoom between PCs
  587. and Amigas using IPX.
  588.  
  589. I'm told ADoom works with MacDOOM over IPX too, by the way.
  590.  
  591. Thanks to G.J.Peltenburg for sending me the freely available IPX
  592. support source code from ID Software's ftp site, after modifying it
  593. for his amipx.library.
  594.  
  595.  
  596.  
  597. DIRECT NULL-MODEM:
  598. ------------------
  599.  
  600. So many people requested a raw null-modem protocol that I sat down and
  601. implemented it for version 0.9.  Well it was mainly an exercise to
  602. prepare myself for IPX.
  603.  
  604. It only works between 2 Amigas with the serial ports connected by a
  605. null-modem cable.  It uses 7-wire CTS/RTS handshaking, so a simple
  606. 3-conductor cable won't work.  I'm pretty sure null-modem won't work
  607. between an Amiga and a PC, because I made no attempt to match the
  608. protocol.  In other words, it requires 2 Amigas.
  609.  
  610. I suppose it would work between 2 Amigas over a telephone line with
  611. modems.  You would need to manually dial and make the connection
  612. first.  Then you would need to shutdown the connection program before
  613. starting ADoom.  The Hayes modem command at&d0 might be useful for
  614. leaving the modem on-line between shutting down the connection program
  615. and starting ADoom.
  616.  
  617. The ADoom syntax is:
  618.  
  619.   ADoom -netserial <node-number> <serialdevice> <unit> <speed>
  620.  
  621. For example, you could enter:
  622.  
  623.   ADoom -netserial 1 serial.device 0 38400
  624.  
  625. on one Amiga and
  626.  
  627.   ADoom -netserial 2 serial.device 0 38400
  628.  
  629. on the other.  One of the Amigas is always node 1 and the other one
  630. is always node 2.
  631.  
  632. It is not necessary to use serial.device.  In fact artser.device or
  633. 8n1.device, if you have them, probably work more reliably or at higher
  634. speeds than serial.device.
  635.  
  636. I think you should use the highest speed that both Amigas cope with.
  637. My experience is that 38400 is about the limit for 68030 Amigas.  My
  638. 68040 WarpEngine works OK with artser.device at 57600.  If you set the
  639. speed too high, ADoom will probably behave erratically or lock-up
  640. after a while.  If you set the speed too low, I suspect the game will
  641. run only very slowly.
  642.  
  643. The game tends to slow right down when there are lots of active
  644. monsters anyway.  Try -deathmatch -nomonsters perhaps.
  645.  
  646. I recommend you start ADoom on node 2 first.  That's because node 2 is
  647. the "listener" during the setup phase.  If you start ADoom on node 1
  648. first, ADoom on node 2 is likely to open serial.device while node 1 is
  649. part way through sending a setup packet.  That could lead to
  650. synchronisation problems and possible lockups.
  651.  
  652.  
  653.  
  654. CONSISTENCY FAILURE:
  655. --------------------
  656.  
  657. Several people reported their net games ended unexpectedly with a
  658. message like: "Error: consistency failure (24805 should be 24806)"
  659.  
  660. What's going on is that DOOM calculates a kind of checksum of the
  661. game's status --- player and monster positions and that kind of thing
  662. --- and sends it to all the other players in every net packet.  If all
  663. the programs and WADs are identical, then they all calculate exactly
  664. the same checksum.  However, if someone is using a slightly different
  665. WAD version or an incompatible version of DOOM, then a monster might
  666. be one more pixel to the left, say, and the result is "consistency
  667. failure".
  668.  
  669. The test is very precise.  All net nodes must run compatible versions
  670. of DOOM and all must use exactly the same WAD file and game options.
  671. To be compatible, 2 versions of DOOM must provide exactly the same
  672. features.  Furthermore, they must use exactly the same random number
  673. generator and they must round arithmetic calculations exactly the same
  674. way.
  675.  
  676. I have to be careful adding new features to ADoom.  For example, I
  677. can't use the random number generator for anything new, nor can I add
  678. any new features that might change player and monster positions.  If I
  679. optimise anything, I can't make any approximations.  Otherwise ADoom
  680. definitely won't work with PC DOOM any more.  Please keep this in mind
  681. if you send me source code for inclusion in ADoom.
  682.  
  683. (The ideal solution would be to compile DOOM for all different
  684. platforms, MSDOS, Win95, Mac, Linux, Amiga, PSX,... from a single
  685. source.  Then new features can be added simultaneously on all
  686. platforms.  Now there's a job for someone...)
  687.  
  688. I suspect "consistency failure" might also happen if you get network
  689. errors, such as serial line overruns.  Try lowering your serial line
  690. speed, and make sure hardware handshaking is working properly.  Also,
  691. if you all specify -pcchecksum things might be more reliable.  That's
  692. because the default Linux net packet checksum isn't really a checksum
  693. at all.  It's always 0.  So any errors in the net packet are not
  694. detected unless you all use -pcchecksum.  (The net packet checksum is
  695. different to the consistency checksum.)
  696.  
  697.  
  698. In the above, substitute ADoomPPC for ADoom.  I was too lazy to
  699. retype all the above. :^}
  700.  
  701.  
  702. Picasso96
  703. =========
  704.  
  705. ADoomPPC should work with the Picasso96 API as long as you don't
  706. specify -directcgx.  In fact, -directcgx slows down ADoomPPC, so
  707. don't use it unless you like running slower. :^}
  708.  
  709. Graffiti
  710. ========
  711.  
  712. The Graffiti card is not yet supported, but I have written drivers
  713. for it for something else, so expect it in some revision of ADoomPPC.
  714.  
  715. WorkBench
  716. =========
  717.  
  718. If you use ELFLoadSeg (and you should), ADoomPPC can be run from Workbench.
  719. To get the options, set the tooltypes EXACTLY like if you were using it
  720. from a CLI.  E.G., if the CLI line is
  721.  
  722.    ADoomPPC -forcedemo -music -joypad -screenmode $40420007
  723.  
  724. the tooltypes should be
  725.  
  726.    -forcedemo
  727.    -music
  728.    -joypad
  729.    -screenmode
  730.    $40420007
  731.  
  732. Options that take a value directly after them should have that value
  733. in the tooltype IMMEDIATELY FOLLOWING the tooltype specifying the option
  734. (see -screenmode option above).
  735.  
  736. Bugs
  737. ====
  738.  
  739. Peter McGavin reports that the IPX only works in ADoomPPC if the PPC
  740. machine is the sender (lowest address on network).
  741.  
  742. You get one column of crap on the far left in the view for resolutions
  743. wider than 320; some resolutions don't put the border patch between the
  744. view and the status bar.
  745.  
  746. As far as I can tell, a bug in ppc.library v45.17 causes allocating
  747. memory as non-cacheable not to work.  I am working with Phase 5
  748. to fix the problem in a future revision of the library.  Until
  749. then, stick to a resolution that has an O next to it for your
  750. processor type.  Peter McGavin reports that this option DOES work
  751. on his brother's 604 PPC Amiga; you'll just have to try it on your
  752. own system to see if it works for you.
  753.  
  754. Also under v45.17, on my PPC (the developer card for the Mark 2 060),
  755. ADoomPPC crashes if the PPC accesses memory at certain locations.  Use
  756. the -heapsize option to lower memory if ADoomPPC crashes while doing
  757. the R_Init routine (watch the cli output).
  758.  
  759. Both problems are probably PPC MMU mapping bugs in ppc.library.
  760.  
  761. WWW Sites
  762. =========
  763.  
  764. There are several web pages specialising in DOOM for the Amiga.  Some
  765. good ones are:
  766.  
  767.     http://adoom.ml.org/     has about 6 other Amiga DOOM ports
  768.  
  769.     http://surf.to/adoom/    fast mirror of http://adoom.ml.org/
  770.  
  771.     http://homepages.which.net/~bartlett/    the Amiga DOOM Bible
  772.  
  773.     http://hem2.passagen.se/sids/adoom/    an ADoom-only page
  774.  
  775.     http://www.balldesi.demon.co.uk/    for the latest speed benchmarks
  776.  
  777.     http://www.boehme.demon.co.uk/aliens.html    some tested 3rd party WADs
  778.  
  779.     http://fiction.pb.owl.de/~frank/    for another PPC port of ADoom
  780.  
  781. and Aminet, of course.
  782.  
  783. History
  784. =======
  785.  
  786. 1.3 April 9, 1998
  787.  
  788. Added native AGA support with triple buffering; I get 24 FPS under
  789. NTSC Low-Res 320x200 and 9 FPS under NTSC High-Res 608x380.  Fixed
  790. problem with the sky not being vertically centered.  Made ADoomPPC
  791. save games compatible with the 68K version; this makes it incompatible
  792. with ADoomPPC 1.2.x version save games.  Fixed problem with doom-
  793. sound.library.060; you may or may not have noticed any trouble on
  794. ADoomPPC, but 060 versions of DOOM had trouble with it.
  795.  
  796.  
  797. 1.2.6 April 6, 1998
  798.  
  799. First public release.  Added -waddir option.  Fixed PCX screenshot header.
  800.  
  801.  
  802. 1.2.5 April 5, 1998
  803.  
  804. Not publicly released.  Finally fixed AMIPX.
  805.  
  806.  
  807. 1.2.3 April 3, 1998
  808.  
  809. Not publicly released.  Made another fix for AMIPX.  Now using
  810. ppc.library to set the bus clock instead of using a fixed default.
  811. Prints cpu type, cpu clock, PLL divisor, and bus clock on startup.
  812.  
  813. 1.2.1 April 2, 1998
  814.  
  815. Not publicly released.  Fixed a minor problem with low detail spans.
  816.  
  817.  
  818. 1.2  March 31, 1998
  819.  
  820. Not publicly released.  ADoomPPC uses the doomsound.library based
  821. on the ADoom_SndSrvr by yours truely.  Fixed the clipped sfx problem
  822. in the sound server and reversed the channels (had them backwards).
  823.  
  824. Fixed low detail problem with the Linux DOOM C code.  Tried PPC 
  825. assembly for R_DrawColumn and found it was only 10 ticks faster;
  826. went back to C code for column rendering.
  827.  
  828. Added -bus to set the bus clock for different PPC systems.
  829.  
  830. Added -mmu to allocate screen buffers as non-cacheable.  Thanks
  831. to Peter McGavin for all his work on PPC caches.
  832.  
  833. Acknowledgements
  834. ================
  835.  
  836. My thanks go to Peter McGavin for one of the finest ports of DOOM
  837. for the Amiga, and for making the code available so that I could do
  838. this version for the PPC.
  839.  
  840. My thanks go to Peter's brother for getting a PPC for his Amiga
  841. so that Peter could beta test ADoomPPC for me; especially all the
  842. networking.
  843.  
  844. My thanks go to Frank Wille for hints on linking and using PASM.
  845.  
  846. Thanks also go to the people who contributed to certain features in
  847. ADoom/ADoomPPC to help make it extra special.  You'll find them in
  848. the source code archives of both ADoom and ADoomPPC.  If you contibuted
  849. and want credit in this readme, email me. :^}
  850.  
  851. Thanks to John Carmack and ID Software for one of the best games ever!
  852.  
  853.  
  854. ============================= Archive contents =============================
  855.  
  856. Original  Packed Ratio    Date     Time    Name
  857. -------- ------- ----- --------- --------  -------------
  858.   755651  314605 58.3% 09-Apr-98 18:42:16 +ADoomPPC
  859.     4067     906 77.7% 19-Mar-98 14:48:04 +ADoomPPC.info
  860.    30326   11883 60.8% 09-Apr-98 19:12:28 +ADoomPPC.readme
  861.      459     228 50.3% 19-Mar-98 14:48:04 +ADoomPPC.readme.info
  862.    14352    4887 65.9% 29-Mar-98 18:21:34 +doomsound.library
  863.    14520    5003 65.5% 09-Apr-98 19:15:28 +doomsound.library.060
  864. -------- ------- ----- --------- --------
  865.   819375  337512 58.8% 26-Apr-98 23:15:48   6 files
  866.